// RedJey Graphics User Interface Library for J2ME Platform.
// Copyright (C) 2008 Yevgen Krapiva
//
// This library is free software; you can redistribute
// it and/or modify it under the terms of the
// GNU Lesser General Public License as published
// by the Free Software Foundation; either version 3.0
// of the License, or any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this library; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//

package com.incrediblesoft.redjey;

/**
 * @author Yevgen Krapiva<br>
 *         Homepage: http://code.google.com/p/redjey/<br>
 *         Feedback: ykrapiva@gmail.com<br>
 *         Copyright (C) 2008 Yevgen Krapiva<br>
 */

import javax.microedition.lcdui.Graphics;
import java.util.Hashtable;

public class Label extends TextComponent
{
    /**
     * Constructs default label
     */
    public Label()
    {
        this(null, null);
    }

    /**
     * Constructs default label with a given title
     * @param text title
     */
    public Label(String text)
    {
        this(text, null);
    }

    /**
     * Constructs default label with a given title and style class
     * @param text title
     * @param styleClassName style class name
     */
    public Label(String text, String styleClassName)
    {
        super(text, styleClassName);
    }

    public String getName()
    {
        return "Label";
    }

    protected Dimension calcPreferredSize(int paddingHorizontal, int paddingVertical, CustomFont font, Hashtable attributes)
    {
        return new Dimension( font.stringWidth(text), font.getHeight() );
    }

    protected void calcContentSize()
    {
        contentSize.width = currentStyle.font.stringWidth(text);
        contentSize.height = currentStyle.font.getHeight();
    }

    protected void validateComponent()
    {
        
    }

    protected void paintComponent(Graphics g)
    {
        currentStyle.font.drawString(g, text, 0, 0, Graphics.LEFT | Graphics.TOP);
    }

}
